home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 October: Mac OS SDK / Dev.CD Oct 00 SDK1.toast / Development Kits / Cross Platform / QuickTime 4.1.2 Windows SDK / RIncludes / Folders.r < prev    next >
Encoding:
Text File  |  2000-04-12  |  11.5 KB  |  180 lines  |  [TEXT/R*ch]

  1. /*
  2.      File:        Folders.r
  3.  
  4.      Contains:    Folder Manager Interfaces.
  5.  
  6.      Version:    Technology:    Mac OS 8
  7.                  Release:    QuickTime 4.1
  8.  
  9.      Copyright:    © 1995-1999 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. */
  17.  
  18. #ifndef __FOLDERS_R__
  19. #define __FOLDERS_R__
  20.  
  21. #ifndef __CONDITIONALMACROS_R__
  22. #include "ConditionalMacros.r"
  23. #endif
  24.  
  25. #define kOnSystemDisk                     (-32768)            /*  previously was 0x8000 but that is an unsigned value whereas vRefNum is signed */
  26. #define kOnAppropriateDisk                 (-32767)            /*  Generally, the same as kOnSystemDisk, but it's clearer that this isn't always the 'boot' disk. */
  27.  
  28. #define kCreateFolder                     1
  29. #define kDontCreateFolder                 0
  30.  
  31. #define kSystemFolderType                 'macs'                /*  the system folder  */
  32. #define kDesktopFolderType                 'desk'                /*  the desktop folder; objects in this folder show on the desk top.  */
  33. #define kSystemDesktopFolderType         'sdsk'                /*  the desktop folder at the root of the hard drive, never the redirected user desktop folder  */
  34. #define kTrashFolderType                 'trsh'                /*  the trash folder; objects in this folder show up in the trash  */
  35. #define kSystemTrashFolderType             'strs'                /*  the trash folder at the root of the drive, never the redirected user trash folder  */
  36. #define kWhereToEmptyTrashFolderType     'empt'                /*  the "empty trash" folder; Finder starts empty from here down  */
  37. #define kPrintMonitorDocsFolderType     'prnt'                /*  Print Monitor documents  */
  38. #define kStartupFolderType                 'strt'                /*  Finder objects (applications, documents, DAs, aliases, to...) to open at startup go here  */
  39. #define kShutdownFolderType             'shdf'                /*  Finder objects (applications, documents, DAs, aliases, to...) to open at shutdown go here  */
  40. #define kAppleMenuFolderType             'amnu'                /*  Finder objects to put into the Apple menu go here  */
  41. #define kControlPanelFolderType         'ctrl'                /*  Control Panels go here (may contain INITs)  */
  42. #define kSystemControlPanelFolderType     'sctl'                /*  System control panels folder - never the redirected one, always "Control Panels" inside the System Folder  */
  43. #define kExtensionFolderType             'extn'                /*  System extensions go here  */
  44. #define kFontsFolderType                 'font'                /*  Fonts go here  */
  45. #define kPreferencesFolderType             'pref'                /*  preferences for applications go here  */
  46. #define kSystemPreferencesFolderType     'sprf'                /*  System-type Preferences go here - this is always the system's preferences folder, never a logged in user's  */
  47. #define kTemporaryFolderType             'temp'                /*  temporary files go here (deleted periodically, but don't rely on it.)  */
  48.  
  49. #define kExtensionDisabledFolderType     'extD'
  50. #define kControlPanelDisabledFolderType  'ctrD'
  51. #define kSystemExtensionDisabledFolderType  'macD'
  52. #define kStartupItemsDisabledFolderType  'strD'
  53. #define kShutdownItemsDisabledFolderType  'shdD'
  54. #define kApplicationsFolderType         'apps'
  55. #define kDocumentsFolderType             'docs'
  56.  
  57.                                                             /*  new constants  */
  58. #define kVolumeRootFolderType             'root'                /*  root folder of a volume  */
  59. #define kChewableItemsFolderType         'flnt'                /*  items deleted at boot  */
  60. #define kApplicationSupportFolderType     'asup'                /*  third-party items and folders  */
  61. #define kTextEncodingsFolderType         'ƒtex'                /*  encoding tables  */
  62. #define kStationeryFolderType             'odst'                /*  stationery  */
  63. #define kOpenDocFolderType                 'odod'                /*  OpenDoc root  */
  64. #define kOpenDocShellPlugInsFolderType     'odsp'                /*  OpenDoc Shell Plug-Ins in OpenDoc folder  */
  65. #define kEditorsFolderType                 'oded'                /*  OpenDoc editors in MacOS Folder  */
  66. #define kOpenDocEditorsFolderType         'ƒodf'                /*  OpenDoc subfolder of Editors folder  */
  67. #define kOpenDocLibrariesFolderType     'odlb'                /*  OpenDoc libraries folder  */
  68. #define kGenEditorsFolderType             'ƒedi'                /*  CKH general editors folder at root level of Sys folder  */
  69. #define kHelpFolderType                 'ƒhlp'                /*  CKH help folder currently at root of system folder  */
  70. #define kInternetPlugInFolderType         'ƒnet'                /*  CKH internet plug ins for browsers and stuff  */
  71. #define kModemScriptsFolderType         'ƒmod'                /*  CKH modem scripts, get 'em OUT of the Extensions folder  */
  72. #define kPrinterDescriptionFolderType     'ppdf'                /*  CKH new folder at root of System folder for printer descs.  */
  73. #define kPrinterDriverFolderType         'ƒprd'                /*  CKH new folder at root of System folder for printer drivers  */
  74. #define kScriptingAdditionsFolderType     'ƒscr'                /*  CKH at root of system folder  */
  75. #define kSharedLibrariesFolderType         'ƒlib'                /*  CKH for general shared libs.  */
  76. #define kVoicesFolderType                 'fvoc'                /*  CKH macintalk can live here  */
  77. #define kControlStripModulesFolderType     'sdev'                /*  CKH for control strip modules  */
  78. #define kAssistantsFolderType             'astƒ'                /*  SJF for Assistants (MacOS Setup Assistant, etc)  */
  79. #define kUtilitiesFolderType             'utiƒ'                /*  SJF for Utilities folder  */
  80. #define kAppleExtrasFolderType             'aexƒ'                /*  SJF for Apple Extras folder  */
  81. #define kContextualMenuItemsFolderType     'cmnu'                /*  SJF for Contextual Menu items  */
  82. #define kMacOSReadMesFolderType         'morƒ'                /*  SJF for MacOS ReadMes folder  */
  83. #define kALMModulesFolderType             'walk'                /*  EAS for Location Manager Module files except type 'thng' (within kExtensionFolderType)  */
  84. #define kALMPreferencesFolderType         'trip'                /*  EAS for Location Manager Preferences (within kPreferencesFolderType; contains kALMLocationsFolderType)  */
  85. #define kALMLocationsFolderType         'fall'                /*  EAS for Location Manager Locations (within kALMPreferencesFolderType)  */
  86. #define kColorSyncProfilesFolderType     'prof'                /*  for ColorSync™ Profiles  */
  87. #define kThemesFolderType                 'thme'                /*  for Theme data files  */
  88. #define kFavoritesFolderType             'favs'                /*  Favorties folder for Navigation Services  */
  89. #define kInternetFolderType             'intƒ'                /*  Internet folder (root level of startup volume)  */
  90. #define kAppearanceFolderType             'appr'                /*  Appearance folder (root of system folder)  */
  91. #define kSoundSetsFolderType             'snds'                /*  Sound Sets folder (in Appearance folder)  */
  92. #define kDesktopPicturesFolderType         'dtpƒ'                /*  Desktop Pictures folder (in Appearance folder)  */
  93. #define kInternetSearchSitesFolderType     'issf'                /*  Internet Search Sites folder  */
  94. #define kFindSupportFolderType             'fnds'                /*  Find support folder  */
  95. #define kFindByContentFolderType         'fbcf'                /*  Find by content folder  */
  96. #define kInstallerLogsFolderType         'ilgf'                /*  Installer Logs folder  */
  97. #define kScriptsFolderType                 'scrƒ'                /*  Scripts folder  */
  98. #define kFolderActionsFolderType         'fasf'                /*  Folder Actions Scripts folder  */
  99. #define kLauncherItemsFolderType         'laun'                /*  Launcher Items folder  */
  100. #define kRecentApplicationsFolderType     'rapp'                /*  Recent Applications folder  */
  101. #define kRecentDocumentsFolderType         'rdoc'                /*  Recent Documents folder  */
  102. #define kRecentServersFolderType         'rsvr'                /*  Recent Servers folder  */
  103. #define kSpeakableItemsFolderType         'spki'                /*  Speakable Items folder  */
  104. #define kKeychainFolderType             'kchn'                /*  Keychain folder  */
  105. #define kQuickTimeExtensionsFolderType     'qtex'                /*  QuickTime Extensions Folder (in Extensions folder)  */
  106. #define kDisplayExtensionsFolderType     'dspl'                /*  Display Extensions Folder (in Extensions folder)  */
  107. #define kMultiprocessingFolderType         'mpxf'                /*  Multiprocessing Folder (in Extensions folder)  */
  108. #define kPrintingPlugInsFolderType         'pplg'                /*  Printing Plug-Ins Folder (in Extensions folder)  */
  109.  
  110. #define kLocalesFolderType                 'ƒloc'                /*  PKE for Locales folder  */
  111. #define kFindByContentPluginsFolderType  'fbcp'                /*  Find By Content Plug-ins  */
  112.  
  113. #define kUsersFolderType                 'usrs'                /*  "Users" folder, contains one folder for each user.  */
  114. #define kCurrentUserFolderType             'cusr'                /*  The folder for the currently logged on user.  */
  115. #define kCurrentUserRemoteFolderLocation  'rusf'            /*  The remote folder for the currently logged on user  */
  116. #define kCurrentUserRemoteFolderType     'rusr'                /*  The remote folder location for the currently logged on user  */
  117. #define kSharedUserDataFolderType         'sdat'                /*  A Shared "Documents" folder, readable & writeable by all users  */
  118. #define kVolumeSettingsFolderType         'vsfd'                /*  Volume specific user information goes here  */
  119.  
  120. #define kCreateFolderAtBoot             0x00000002
  121. #define kFolderCreatedInvisible         0x00000004
  122. #define kFolderCreatedNameLocked         0x00000008
  123. #define kFolderCreatedAdminPrivs         0x00000010
  124.  
  125. #define kFolderInUserFolder             0x00000020
  126. #define kFolderTrackedByAlias             0x00000040
  127. #define kFolderInRemoteUserFolderIfAvailable  0x00000080
  128. #define kFolderNeverMatchedInIdentifyFolder  0x00000100
  129. #define kFolderMustStayOnSameVolume     0x00000200
  130. #define kFolderInLocalOrRemoteUserFolder  0x000000A0
  131.  
  132. #define kRelativeFolder                 'relf'
  133. #define kSpecialFolder                     'spcf'
  134.  
  135. #define kBlessedFolder                     'blsf'
  136. #define kRootFolder                     'rotf'
  137.  
  138. #define kCurrentUserFolderLocation         'cusf'                /*     the magic 'Current User' folder location */
  139.                                                             /*     Set this bit to 1 in the .flags field of a FindFolderUserRedirectionGlobals */
  140.                                                             /*     structure if the userName in the struct should be used as the current */
  141.                                                             /*     "User" name */
  142. #define kFindFolderRedirectionFlagUseDistinctUserFoldersBit  0 /*     Set this bit to 1 and the currentUserFolderVRefNum and currentUserFolderDirID */
  143.                                                             /*     fields of the user record will get used instead of finding the user folder */
  144.                                                             /*     with the userName field. */
  145. #define kFindFolderRedirectionFlagUseGivenVRefAndDirIDAsUserFolderBit  1 /*     Set this bit to 1 and the remoteUserFolderVRefNum and remoteUserFolderDirID */
  146.                                                             /*     fields of the user record will get used instead of finding the user folder */
  147.                                                             /*     with the userName field. */
  148. #define kFindFolderRedirectionFlagsUseGivenVRefNumAndDirIDAsRemoteUserFolderBit  2
  149.  
  150. #define kFolderManagerUserRedirectionGlobalsCurrentVersion  1
  151. #define kFindFolderExtendedFlagsDoNotFollowAliasesBit  0
  152. #define kFindFolderExtendedFlagsDoNotUseUserFolderBit  1
  153. #define kFindFolderExtendedFlagsUseOtherUserRecord  0x01000000
  154.  
  155. #define kFolderManagerNotificationMessageUserLogIn  'log+'    /*     Sent by system & third party software after a user logs in.  arg should point to a valid FindFolderUserRedirectionGlobals structure or nil for the owner */
  156. #define kFolderManagerNotificationMessagePreUserLogIn  'logj' /*     Sent by system & third party software before a user logs in.  arg should point to a valid FindFolderUserRedirectionGlobals structure or nil for the owner */
  157. #define kFolderManagerNotificationMessageUserLogOut  'log-'    /*     Sent by system & third party software before a user logs out.  arg should point to a valid FindFolderUserRedirectionGlobals structure or nil for the owner */
  158. #define kFolderManagerNotificationMessagePostUserLogOut  'logp' /*     Sent by system & third party software after a user logs out.  arg should point to a valid FindFolderUserRedirectionGlobals structure or nil for the owner */
  159. #define kFolderManagerNotificationDiscardCachedData  'dche'    /*     Sent by third party software when the entire Folder Manager cache should be flushed */
  160.  
  161. #define kDoNotRemoveWhenCurrentApplicationQuitsBit  0
  162. #define kDoNotRemoveWheCurrentApplicationQuitsBit  0        /*     Going away soon, use kDoNotRemoveWheCurrentApplicationQuitsBit */
  163.  
  164. #define kStopIfAnyNotificationProcReturnsErrorBit  31
  165.  
  166. /* fld# • list of folder names for Folder Mgr */
  167.  
  168.     type 'fld#' {
  169.         array {
  170.             literal        longint;                // folder type
  171.             integer        inSystemFolder = 0;        // version
  172.             fill byte;                            // high byte of data length
  173.             pstring;                            // folder name
  174.             align word;
  175.         };
  176.     };
  177.  
  178. #endif /* __FOLDERS_R__ */
  179.  
  180.